/* 告诉C编译器，有一个函数在别的文件里 */
/* 是函数声明却不用{}，而用;，这表示的意思是：函数是在别的文件中，你自己找一下吧！ */
void io_hlt(void);

// 另两种写法
void HariMain(void)
{
    int i; /* 变量声明：i是一个32位整数 */
    char* p; /* 变量p，用于BYTE型地址 */

    // p = (char*)0xa0000; /* 给地址变量赋值 */
    // for (i = 0; i <= 0xffff; i++) {
    //     *(p + i) = i & 0x0f;
    // }

    // harib01e
    p = (char*)0xa0000;
    for (i = 0; i <= 0xffff; i++) {
        p[i] = i & 0x0f;
    }

    for (;;) {
        io_hlt();
    }
}